:root {
    --brand-green:  #84a272;
    --brand-yellow: #ffe45e;
    --brand-grey:   #746864;
    --brand-white:  #ffffff;
    --brand-red:    #bf5661;

    /* Typekit (kit nxq8uhq) */
    --font-title:    "alternate-gothic-condensed-a", sans-serif;  /* Alternative Gothic Condensed ATF Demi */
    --font-subtitle: "gotham", sans-serif;                        /* Gotham Bold (700) */
    --font-body:     "gotham", sans-serif;                        /* Gotham Medium (500) */

    --font-title-weight:    600;
    --font-subtitle-weight: 700;
    --font-body-weight:     500;

    --brand-rounding: 0px;
}

.font-title    { font-family: var(--font-title);    font-weight: var(--font-title-weight); }
.font-subtitle { font-family: var(--font-subtitle); font-weight: var(--font-subtitle-weight); }
.font-body     { font-family: var(--font-body);     font-weight: var(--font-body-weight); }

.uppercase { text-transform: uppercase !important; }

.text-green  { color: var(--brand-green) !important; }
.text-yellow { color: var(--brand-yellow) !important; }
.text-grey   { color: var(--brand-grey) !important; }
.text-white  { color: var(--brand-white) !important; }
.text-red    { color: var(--brand-red) !important; }

.background-green  { background-color: var(--brand-green) !important; }
.background-yellow { background-color: var(--brand-yellow) !important; }
.background-grey   { background-color: var(--brand-grey) !important; }
.background-white  { background-color: var(--brand-white) !important; }
.background-red    { background-color: var(--brand-red) !important; }

.small { font-size: 50% !important; }

/* Font-size scale (md = 16px body default, 2px steps) */
.text-xs  { font-size: 12px !important; }
.text-sm  { font-size: 14px !important; }
.text-md  { font-size: 16px !important; }
.text-lg  { font-size: 18px !important; }
.text-xl  { font-size: 20px !important; }
.text-2xl { font-size: 22px !important; }

/* Extend Bootstrap spacing scale: 6=4rem, 7=5rem, 8=6rem, 9=8rem, 10=10rem */
.m-6{margin:4rem!important}.m-7{margin:5rem!important}.m-8{margin:6rem!important}.m-9{margin:8rem!important}.m-10{margin:10rem!important}
.mt-6{margin-top:4rem!important}.mt-7{margin-top:5rem!important}.mt-8{margin-top:6rem!important}.mt-9{margin-top:8rem!important}.mt-10{margin-top:10rem!important}
.mb-6{margin-bottom:4rem!important}.mb-7{margin-bottom:5rem!important}.mb-8{margin-bottom:6rem!important}.mb-9{margin-bottom:8rem!important}.mb-10{margin-bottom:10rem!important}
.ml-6{margin-left:4rem!important}.ml-7{margin-left:5rem!important}.ml-8{margin-left:6rem!important}.ml-9{margin-left:8rem!important}.ml-10{margin-left:10rem!important}
.mr-6{margin-right:4rem!important}.mr-7{margin-right:5rem!important}.mr-8{margin-right:6rem!important}.mr-9{margin-right:8rem!important}.mr-10{margin-right:10rem!important}
.mx-6{margin-right:4rem!important;margin-left:4rem!important}.mx-7{margin-right:5rem!important;margin-left:5rem!important}.mx-8{margin-right:6rem!important;margin-left:6rem!important}.mx-9{margin-right:8rem!important;margin-left:8rem!important}.mx-10{margin-right:10rem!important;margin-left:10rem!important}
.my-6{margin-top:4rem!important;margin-bottom:4rem!important}.my-7{margin-top:5rem!important;margin-bottom:5rem!important}.my-8{margin-top:6rem!important;margin-bottom:6rem!important}.my-9{margin-top:8rem!important;margin-bottom:8rem!important}.my-10{margin-top:10rem!important;margin-bottom:10rem!important}
.p-6{padding:4rem!important}.p-7{padding:5rem!important}.p-8{padding:6rem!important}.p-9{padding:8rem!important}.p-10{padding:10rem!important}
.pt-6{padding-top:4rem!important}.pt-7{padding-top:5rem!important}.pt-8{padding-top:6rem!important}.pt-9{padding-top:8rem!important}.pt-10{padding-top:10rem!important}
.pb-6{padding-bottom:4rem!important}.pb-7{padding-bottom:5rem!important}.pb-8{padding-bottom:6rem!important}.pb-9{padding-bottom:8rem!important}.pb-10{padding-bottom:10rem!important}
.pl-6{padding-left:4rem!important}.pl-7{padding-left:5rem!important}.pl-8{padding-left:6rem!important}.pl-9{padding-left:8rem!important}.pl-10{padding-left:10rem!important}
.pr-6{padding-right:4rem!important}.pr-7{padding-right:5rem!important}.pr-8{padding-right:6rem!important}.pr-9{padding-right:8rem!important}.pr-10{padding-right:10rem!important}
.px-6{padding-right:4rem!important;padding-left:4rem!important}.px-7{padding-right:5rem!important;padding-left:5rem!important}.px-8{padding-right:6rem!important;padding-left:6rem!important}.px-9{padding-right:8rem!important;padding-left:8rem!important}.px-10{padding-right:10rem!important;padding-left:10rem!important}
.py-6{padding-top:4rem!important;padding-bottom:4rem!important}.py-7{padding-top:5rem!important;padding-bottom:5rem!important}.py-8{padding-top:6rem!important;padding-bottom:6rem!important}.py-9{padding-top:8rem!important;padding-bottom:8rem!important}.py-10{padding-top:10rem!important;padding-bottom:10rem!important}

/* Button system
   Base .btn carries shared structure. Layer independent modifiers:
     .btn-text-{colour}              text colour
     .btn-background-{colour}        background colour
     .btn-text-{colour}-on-hover     text colour on hover
     .btn-background-{colour}-on-hover  background colour on hover
*/
.btn {
    display: inline-block;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 18px;
    line-height: normal;
    padding: 10px 20px;
    border: 0;
    border-radius: var(--brand-rounding);
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: .5s all ease;
}

.btn-text-green,  .btn-text-green:visited  { color: var(--brand-green); }
.btn-text-yellow, .btn-text-yellow:visited { color: var(--brand-yellow); }
.btn-text-grey,   .btn-text-grey:visited   { color: var(--brand-grey); }
.btn-text-white,  .btn-text-white:visited  { color: var(--brand-white); }
.btn-text-red,    .btn-text-red:visited    { color: var(--brand-red); }

.btn-background-green  { background-color: var(--brand-green); }
.btn-background-yellow { background-color: var(--brand-yellow); }
.btn-background-grey   { background-color: var(--brand-grey); }
.btn-background-white  { background-color: var(--brand-white); }
.btn-background-red    { background-color: var(--brand-red); }

.btn-text-green-on-hover:hover  { color: var(--brand-green); }
.btn-text-yellow-on-hover:hover { color: var(--brand-yellow); }
.btn-text-grey-on-hover:hover   { color: var(--brand-grey); }
.btn-text-white-on-hover:hover  { color: var(--brand-white); }
.btn-text-red-on-hover:hover    { color: var(--brand-red); }

.btn-background-green-on-hover:hover  { background-color: var(--brand-green); }
.btn-background-yellow-on-hover:hover { background-color: var(--brand-yellow); }
.btn-background-grey-on-hover:hover   { background-color: var(--brand-grey); }
.btn-background-white-on-hover:hover  { background-color: var(--brand-white); }
.btn-background-red-on-hover:hover    { background-color: var(--brand-red); }

* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
::-moz-selection {
    color: #6D7B8D;
    background: #BCC6CC;
}
::selection {
    color: #6D7B8D;
    background: #BCC6CC;
}

.page-wrapper {
    background: var(--brand-white) !important;
}
body {
    font-family: var(--font-body);
    font-weight: var(--font-body-weight);
    font-size: 16px;
    line-height: 20px;
    text-align: left;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-title);
    font-weight: var(--font-title-weight);
    margin-top: 0;
    color: #000;
}
h2 {
    font-size: 30px;
}
h3 {
    font-size: 24px;
}

p.last {
    margin-bottom: 0 !important;
}

a {
    color: var(--brand-yellow);
}
a:hover, a:focus {
    color: var(--brand-yellow);
    text-decoration: none;
}

::placeholder {
    color: #000;
    opacity: 1;
}
:-ms-input-placeholder {
    color: #000;
}
::-ms-input-placeholder {
    color: #000;
}

.spacer {
    height: 30px;
}

.theme-btn {
    background: var(--brand-green);
    color: var(--brand-white);
    padding: 10px 20px;
    text-transform: uppercase;
    display: inline-block;
    transition: all .5s ease;
}
.theme-btn:hover {
    background-color: var(--brand-yellow);
    color: var(--brand-white);
    transition: all .5s ease;
}

button, input, optgroup, select, textarea {
    font-size: 14px;
}
input[type=text], input[type=password], input[type=url], input[type=tel], input[type=search], input[type=number], input[type=datetime], input[type=email] {
    height: auto;
    font-family: inherit;
    font-size: 18px;
    min-height: 0;
}
input.input-text, textarea {
    padding: 10px 20px;
    font-size: 18px;
    min-height: 0;
}
input.input-text, select, textarea {
    border-color: #ccc;
    line-height: normal;
    font-size: 18px;
}
select {
    padding: 10px 20px;
    color: var(--brand-grey);
}
.button, .button:hover {
    transition: all .5s ease;
}
button.disabled, button[disabled], fieldset[disabled] button, .cart.table-wrapper .actions-toolbar>.action.disabled, .cart.table-wrapper .actions-toolbar>.action[disabled], fieldset[disabled] .cart.table-wrapper .actions-toolbar>.action, .action-gift.disabled, .action-gift[disabled], fieldset[disabled] .action-gift {
    opacity: 1;
}
button, .cart.table-wrapper .actions-toolbar>.action, .action-gift {
    border: 0;
    font-weight: normal;
}
button:hover, .cart.table-wrapper .actions-toolbar>.action:hover, .action-gift:hover {
    border: 0;
}
._keyfocus *:focus, input:not([disabled]):focus, textarea:not([disabled]):focus, select:not([disabled]):focus {
    box-shadow: none;
}
button.button span {
    border: 0;
    font-size: 14px;
    font-family: var(--font-body);
    background-color: var(--brand-green);
    border-radius: var(--brand-rounding);
    padding: 10px 15px;
    text-transform: uppercase;
    height: auto;
    line-height: normal;
    font-weight: normal;
    transition: all .5s ease;
}
button.button:hover span {
    background-color: var(--brand-grey);
}
button:focus {
    outline: 0;
}
.action.primary:focus, .action-primary:focus, .action.primary:active, .action-primary:active {
    background-color: var(--brand-green);
    border: 1px solid var(--brand-green);
}
button:active, .cart.table-wrapper .actions-toolbar>.action:active, .action-gift:active {
    box-shadow: none;
}

.container.fullwidth {
    width: 100%;
    max-width: none;
    margin: 0px;
    padding: 0px;
}

.columns .column.main {
    padding-bottom: 0;
}

.header {
    background-color: var(--brand-grey);
    position: relative;
    padding: 10px 0;
    height: 100px;
    border-bottom: 1px solid #000;
    width: 100%;
    left: 0;
    z-index: 100;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.header.sticky {
    height: 100px;
    padding: 10px 0;
    position: fixed;
    top: 0px;
}
/* Three-section flex header: left (menu + search) | middle (logo) | right (user + cart) */
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 75px;
}
.header.sticky .header-inner {
    height: 75px;
}
.header-left,
.header-right {
    display: flex;
    align-items: center;
    flex: 1 1 0;
}
.header-left {
    justify-content: flex-start;
}
.header-right {
    justify-content: flex-end;
}
.header-middle {
    flex: 0 0 auto;
}
.header .header-logo {
    text-align: center;
    width: 300px;
    margin: 0 auto;
    transition: width 0.5s ease;
}
.header-logo h1 {
    margin: 0;
    max-width: none;
}
.header-logo .logo-lft {
    width: 70%;
    height: auto;
    margin: 0 auto;
}
.header-logo .logo-rgt {
    width: 18%;
    height: auto;
    transition: 0.5s all ease;
}
.header-icons {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    font-size: 32px;
}
.header-icons li {
    list-style: none;
    transition: margin 0.5s ease;
}
.header-right .header-icons li {
    margin-left: 30px;
}
.header-right .header-icons li:first-child {
    margin-left: 0;
}
.header-left .header-icons li {
    margin-right: 30px;
}
.header-left .header-icons li:last-child {
    margin-right: 0;
}
.header-icons li a {
    color: var(--brand-white);
    transition: all .5s ease;
}
.header-icons li a:hover, .desktop-menu:hover {
    color: var(--brand-yellow);
    transition: all .5s ease;
}
#nav a:hover {
    transition: all .5s ease;
}
.desktop-menu {
    display: none;
    cursor: pointer;
    color: var(--brand-white);
    transition: all .5s ease;
}
.header-icons li .toggle-dropdown a {
    font-size: 18px;
}
.header-icons .user-dropdown .toggle-dropdown a {
    color: var(--brand-white);
}
.header-cart {
    position: relative;
}
.header-cart em {
    font-style: normal;
    font-size: 16px;
    width: 25px;
    height: 25px;
    position: absolute;
    text-align: center;
    line-height: 17px;
    right: -10px;
    top: -10px;
    border-radius: 50%;
    background-color: var(--brand-yellow);
    color: var(--brand-white);
}
.toggle-dropdown {
    position: absolute;
    background-color: var(--brand-green);
    left: 0;
    top: 100%;
    width: 100%;
    z-index: 9;
    padding: 15px 0;
    overflow: hidden;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.toggle-dropdown .minisearch,
.toggle-dropdown .form-search {
    background-color: transparent !important;
}
.toggle-dropdown .search-autocomplete:empty {
    display: none !important;
}
.form-search {
    position: relative;
    display: flex;
}
.form-search input.input-text {
    flex: 1 1 auto;
    width: auto;
    border-radius: var(--brand-rounding);
    border: 0;
    background-color: var(--brand-white);
    padding: 15px 20px;
}
.form-search button.button {
    flex: 0 0 auto;
    border: 0;
    cursor: pointer;
    background-color: var(--brand-yellow);
    border-radius: var(--brand-rounding);
    padding: 14px 35px;
    color: var(--brand-grey);
    text-transform: uppercase;
    font-family: var(--font-body);
}
.form-search button.button:hover {
    background-color: var(--brand-grey);
    color: var(--brand-yellow);
}
.form-search button.button[disabled] {
    cursor: not-allowed;
    opacity: .6;
}
.form-search .search-autocomplete {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 4;
}

.nav-container {
    background: var(--brand-grey);
    float: left;
    margin-top: 22px;
}
#nav {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 17px;
    font-family: var(--font-body);
    text-transform: uppercase;
    text-align: center;
}
#nav li {
    position: relative;
    text-align: left;
    float: left;
    margin: 0 12px;
    padding: 19px 0;
    list-style: none;
}
#nav li.home {
    margin-left: 0;
}
#nav ul li, #nav ul li.active {
    float: none;
    margin: 0;
    padding-bottom: 1px;
    background: none;
}
#nav ul li, header.sticky #nav ul li, header.sticky #nav ul li.active {
    padding-top: 1px;
    padding-bottom: 1px;
}
#nav a {
    font-weight: normal;
    padding: 0;
    color: var(--brand-white);
}
#nav a, #nav a:hover {
    display: block;
    line-height: 1.3em;
    text-decoration: none;
}
#nav li:hover > a, #nav a:hover, .cms-home #nav li.home a, #nav li.active a {
    color: var(--brand-yellow);
}
#nav li.active ul li a {
    color: var(--brand-white);
}
#nav li.active ul li:hover a {
    color: var(--brand-yellow);
}
#nav ul, #nav div {
    position: absolute;
    width: 15em;
    top: 27px;
    left: -10000px;
    border: 1px solid #899ba5;
    top: 100%;
    background-color: var(--brand-grey);
    padding: 10px 0;
    border: 0;
    border-radius: var(--brand-rounding);
}
#nav span {
    display: block;
    cursor: pointer;
    white-space: normal;
}
#nav ul span, #nav ul li.last li span {
    padding: 5px 15px;
}
#nav ul li a:hover {
    background: none;
}

.cms-home .page-main {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-top:60px;
}
.cms-home .page-main h2 {
    font-size: 50px;
    margin-bottom: 30px;
}
.cms-home .page-main p {
    line-height: 1.5;
}

.banner-section {
    height: 550px;
    padding: 100px 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.banner-section .banner-info {
    width: 500px;
    padding: 30px 30px;
    float: none;
    font-size: 18px;
    line-height: 25px;
    text-align: justify;
    border-radius: var(--brand-rounding);
    margin: 0 auto;
}
.banner-section.banner-one .banner-info {
    background-color: rgba(0,0,0,0.5);
    color: var(--brand-white);
}
.banner-section.banner-one .banner-info h2 {
    color: var(--brand-white);
}
.banner-section .banner-info h2 {
    font-size: 45px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.banner-section.banner-one .banner-info p {
    font-size: 20px;
    margin-bottom: 30px;
}
.banner-section a {
    display: inline-block;
    background-color: var(--brand-green);
    color: var(--brand-white);
    text-transform: uppercase;
    font-size: 18px;
    font-family: var(--font-body);
    padding: 10px 20px;
    border-radius: var(--brand-rounding);
}
.banner-section a:hover {
    background-color: var(--brand-yellow);
    color: var(--brand-white);
}
.banner-section a, .banner-section a:hover {
    transition: all .5s ease;
}

.home-welcome-block {
    padding: 30px 0;
    margin: 40px 0;
}
.home-welcome-block h2 {
    font-weight: 400;
}
.our-story-button a {
    background: var(--brand-green);
    color: var(--brand-white);
    padding: 10px 20px;
    text-transform: uppercase;
    transition: all .5s ease;
}
.our-story-button a:hover {
    background-color: var(--brand-yellow);
    transition: all .5s ease;
}

.home-product-block {
    padding: 0;
    margin: 0;
}
.home-product-block h3 {
    margin: 15px 0 5px;
    min-height: 56px;
    font-family: var(--font-body);
    font-weight: var(--font-body-weight);
    text-transform: uppercase;
}
/* Bundle cards: equal-height columns, prices + Buy Now buttons aligned across the row */
.home-product-block .row {
    display: flex;
    flex-wrap: wrap;
}
.home-product-block .bundle-col {
    display: flex;
    flex-direction: column;
}
.home-product-block .bundle-price {
    margin-top: auto;
    margin-bottom: 10px;
}
.home-product-block .bundle-cta {
    margin-top: 0;
}
/* Bundle cards stack below the sm breakpoint — add breathing room between them */
@media only screen and (max-width: 575px) {
    .home-product-block .bundle-col + .bundle-col {
        margin-top: 30px;
    }
}

.banner-section .banner-info.spacing1 {
    padding: 30px 30px;
}
.banner-section.banner-two .banner-info {
    text-align: left;
    background-color: rgba(255,255,255,.8);
    color: #000;
}
.banner-section a.videoLink {
    background-color: transparent !important;
}

.customer-quote-section {
    padding: 30px 0;
    margin: 40px 0;
}
.customer-quote-section p {
    font-family: var(--font-body);
    font-size: 22px;
}
.customer-quote-section p span {
    font-size: 65px;
    position: relative;
    top: 25px;
    font-weight: 400;
}

.home-category-block {
    text-align: center;
    padding: 0 0 30px;
    margin: 0 0 40px;
}
.shop-category-block p,
.shop-category-block {
    color: var(--brand-grey);
}
.four-banner-text {
    width: 175px;
    height: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    margin: -20px auto 0;
    font-size: 18px;
    text-align: center;
    text-transform: uppercase;
    background: var(--brand-green);
    transition: all .5s ease;
}
.four-banner-text a {
    color: var(--brand-yellow);
    padding: 10px;
    display: block;
    transition: all .5s ease;
}
.four-banner-text:hover {
    background: var(--brand-yellow);
    transition: all .5s ease;
}

.four-banner-text:hover a {
  color: var(--brand-green);
}

.banner-section.banner-two .banner-info h2 {
    font-size: 30px;
}

.home-section-banner-six {
    padding: 30px 0;
    margin: 40px 0;
    text-align: center;
}
.home-section-banner-six h2 {
    margin-bottom: 50px;
}
.home-section-banner-six .col-md-3 img {
    width: 80%;
    margin: 0 auto;
}
.home-section-banner-six h3 {
    font-family: var(--font-body);
    margin: 20px 0px;
    font-size: 20px;
    font-weight: 300;
    color: #000;
    padding-top: 5px;
    text-transform: uppercase;
    text-align: center;
}

.newsletter-block {
    background-color: var(--brand-yellow);
    padding: 50px 0;
}
.reviews-block {
    background-color: var(--brand-green);
    padding: 50px 0;
}
@media only screen and (min-width: 768px) {
    .block-reviews {
        max-width: 50%;
        margin-left: auto;
        margin-right: auto;
    }
}
.block-subscribe {
    margin-bottom: 0;
}
.block-subscribe .block-title {
    text-align: center;
    color: var(--brand-yellow);
    font-size: 30px;
}
.block-subscribe .block-content {
    padding: 0;
}
.block-subscribe label {
    color: #000;
    text-align: center;
    font-weight: normal;
    width: 100%;
    font-size: 20px;
    margin-bottom: 15px;
}
.block-subscribe .block-content {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
}
.block-subscribe input.input-text {
    width: 100%;
    border: 0;
    padding: 10px 130px 10px 20px;
    margin: 0;
}
.block-subscribe .btn {
    position: absolute;
    right: 0;
    top: 0;
}

.page-footer, footer.page-footer {
    background-color: var(--brand-grey);
}
.footer-top {
    background-color: var(--brand-grey);
    padding: 40px 0 10px;
    color: var(--brand-white);
}
/* Footer stacks to one column below the sm breakpoint:
   centre everything and space the stacked columns apart */
@media only screen and (max-width: 575px) {
    .footer-top {
        text-align: center;
    }
    .footer-top .row > [class*="col-"] + [class*="col-"] {
        margin-top: 20px;
    }
}
.footer-top h6 {
    font-size: 20px;
    font-family: var(--font-title);
    text-transform: uppercase;
    margin-bottom: 20px;
    color: var(--brand-white);
}
.footer-top ul {
    margin: 0;
    padding: 0;
}
.footer-top ul li {
    margin-bottom: 5px;
    list-style: none;
}
.footer-top ul li:last-child {
    margin-bottom: 0;
}
.footer-top a {
    color: var(--brand-white);
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.footer-top a:hover {
    color: var(--brand-yellow);
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.social-links a {
    margin-right: 15px;
}
.social-links a:last-child {
    margin-right: 0;
}
.social-links img {
    width: 40px;
    height: auto;
}
.social-links a {
    color: var(--brand-white);
    transition: all 0.5s ease;
}
.social-links a:hover {
    color: var(--brand-yellow);
}
.social-links .fab {
    font-size: 32px;
    line-height: 1;
}
.footer-bottom {
    background-color: var(--brand-grey);
    text-align: center;
    padding: 15px 0;
    color: var(--brand-white);
}
.footer-award {
    text-align: center;
    padding-top: 25px;
    border-top: 1px solid var(--brand-yellow);
    margin-top: 30px;
}
address {
    margin: 0;
}
.s218link {
    color: var(--brand-yellow) !important;
    text-decoration: none;
    transition: color 0.5s ease;
}
.s218link:hover {
    color: var(--brand-green) !important;
    text-decoration: none;
}

/* Full-width feature band: bg image edge-to-edge, content margined.
   2/3 text + 1/3 portrait image; stacks to one column on mobile. */
.feature-band {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    background-color: var(--brand-green);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 0;
    overflow-x: hidden;
}
.feature-band-text .btn {
    margin-top: 20px;
}
/* On side-by-side layouts, constrain the text content to 75% of its column
   (two-column variants only; not the centred hero) */
@media only screen and (min-width: 768px) {
    .feature-band:not(.feature-band-hero) .feature-band-text > * {
        max-width: 75%;
    }
}
.feature-band-image {
    text-align: center;
}
.feature-band-image img {
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width: 767px) {
    .feature-band-image {
        margin-top: 30px;
    }
}

/* Full-show background image: band height tracks the bg image aspect ratio
   so the whole image is shown, never cropped. Set the ratio to match the image:
   style="--band-ratio: 1200 / 600; background-image: url(...)" */
.feature-band-bg-full {
    aspect-ratio: var(--band-ratio, 1200 / 600);
    background-position: right center;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
}
.feature-band-bg-full > .container {
    width: 100%;
}
/* On narrow screens the stacked image + text is taller than the image ratio,
   so drop the fixed aspect-ratio and let the band grow to fit its content. */
@media only screen and (max-width: 767px) {
    .feature-band-bg-full {
        aspect-ratio: auto;
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

/* Hero variant: full-bleed bg image, single centred content column */
/* Hero: band height tracks the image aspect ratio so it's never cropped.
   Override per block with style="--hero-ratio: 1200 / 600" to match the image. */
.feature-band-hero {
    display: flex;
    align-items: center;
    height: calc(100vh - 101px - 48px);
    background-position: left center;
    padding-top: 0;
    padding-bottom: 0;
}
.feature-band-hero > .container {
    width: 100%;
}
.feature-band-hero .feature-band-text h2 {
    font-size: 70px;
}
.feature-band-hero .feature-band-text .text-lg {
    font-size: 28px !important;
    line-height: 1.5;
}

/* Split variant: image fills its whole half, flush to band edges */
.feature-band-split {
    padding: 0;
}
.feature-band-split .feature-band-image-fill {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 1 / 1;
}
.feature-band-split .feature-band-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-top: 50px;
    padding-bottom: 50px;
    padding-right: 2%;
    padding-left: 4%;
}

.two-col-banner {
    margin: 40px 0 0;
}
.two-col-banner .left-col, .two-col-banner .right-col {
    height: 100%;
}
.two-col-banner .left-col {
    background: #000;
    padding: 60px 30px;
}
.two-col-banner .left-col h2 {
    margin-bottom: 20px;
    color: var(--brand-white);
}
.two-col-banner .left-col a {
  transition: all 0.5s ease;
    display: inline-block;
    background-color: var(--brand-yellow);
    color: var(--brand-white);

    text-transform: uppercase;
    font-size: 18px;
    padding: 10px 20px;
    border-radius: var(--brand-rounding);
}
.two-col-banner .left-col a:hover {
  transition: all 0.5s ease;
  background-color: var(--brand-white);
  color: #000;
}
.two-col-banner .right-col {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media only screen and (max-width: 990px) {
  .nav-container {
      display:none;
      position: absolute;
      top: 100%;
      left: 0px;
      width: 100%;
      margin-top: 0;
      background-color: var(--brand-grey);
  }
  .sticky .nav-container { top:100%}
  .desktop-menu {
    display:inline-block;
}
}
@media only screen and (min-width: 991px) {
    .desktop-menu { display:none}
    .nav-container {
        position: absolute;
        display:flex;
        justify-content: center;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--brand-grey);
        margin-top: 0;
    }
    #nav {
        width: auto;
        margin: 0 auto;
    }
    #nav li:hover ul {
        display: block;
        left: 0;
    }

    .sticky #nav li { padding:14px 0}
}

@media only screen and (min-width: 1200px) {
    .nav-sections {
        margin-bottom: 0;
    }
    .header.sticky .desktop-menu {
        top: 13px;
    }
    .header.sticky .header-right {
        margin-top: 15px;
    }
    #nav {

        margin: 0 auto;
    }
}

.page-title  {
    margin: 30px 0;
    font-weight: 400;
    font-size: 35px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    font-family: var(--font-body);
}
.category-shop .page-title-wrapper {
    display: none;
}
.category-description {
    text-align: center;
    margin-bottom: 30px;
}
/* Category page: grey title + description on the white page background */
.catalog-category-view .page-title {
    font-family: var(--font-title);
    color: var(--brand-grey);
}
.catalog-category-view .category-description,
.catalog-category-view .category-description p {
    color: var(--brand-grey);
}
.catalog-category-view .category-description a,
.catalog-category-view .category-description a:link,
.catalog-category-view .category-description a:visited {
    color: var(--brand-green);
    text-decoration: none;
    transition: all 0.5s ease;
}
.catalog-category-view .category-description a:hover,
.catalog-category-view .category-description a:focus {
    color: var(--brand-yellow);
    text-decoration: none;
}

.modes-mode.active {
    color: var(--brand-white);
    background: var(--brand-yellow);
    border-color: var(--brand-yellow);
}
.modes-mode.active:before {
    color: var(--brand-white);
}

.pages a.page {
    color: var(--brand-yellow) !important;
}

.products-grid {
    text-align: center;
}
.products-grid img {
    transition: opacity .5s ease;
}
.products-grid img:hover {
    opacity: .8;
}
.products-grid h3 {
    margin: 10px 0 30px;
    font-size: 20px;
    color: #000;
}
.products-grid h3 a {
    color: #000;
    transition: all .5s ease;
}
.products-grid h3 a:hover {
    color: var(--brand-green);
}
.product-item .price-box .price-label {
    font-size: 1.75rem;
    text-transform: uppercase;
}
.page-products .product-item .price-from, .page-products .product-item .price-to {
    display: inline-block;
    float: none;
    margin: 0 5px;
}
.page-products .product-item-info {
    width: 100%;
    margin-bottom:20px
}

/* Category grid: equal-height cards so price + Add to Cart align across the row,
   regardless of product name length or an "As low as" line */
.catalog-category-view .products-grid .product-items {
    display: flex;
    flex-wrap: wrap;
}
.catalog-category-view .products-grid .product-item {
    display: flex;
}
.catalog-category-view .products-grid .product-item-info {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.catalog-category-view .products-grid .product-item-details {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.catalog-category-view .products-grid .product-item-details .price-box {
    margin-top: auto;
}
.catalog-category-view .products-grid .product-item-details .product-item-actions {
    margin-top: 10px;
}
.product-item-info .product-item-name {
    font-size: 16px;
}
.product-item .price-box .price {
    font-size: 1.75rem;
    font-weight: normal;
    color: var(--brand-grey);
}

/* Category grid: yellow product names, prices, labels on the grey background */
.catalog-category-view .product-item-name,
.catalog-category-view .product-item-name a,
.catalog-category-view .product-item-name a:visited,
.catalog-category-view .product-item .price-box,
.catalog-category-view .product-item .price-box .price,
.catalog-category-view .product-item .price-box .price-label,
.catalog-category-view .product-item .price-box .price-from,
.catalog-category-view .product-item .price-box .price-from .price,
.catalog-category-view .product-item .price-box .price-to,
.catalog-category-view .product-item .price-box .price-to .price,
.catalog-category-view .product-item .price-box .minimal-price-link,
.catalog-category-view .product-item .price-box .minimal-price-link .price,
.catalog-category-view .product-item .price-box .minimal-price-link .price-label {
    color: var(--brand-grey);
}
.catalog-category-view .product-item .price-box {
    margin-bottom: 15px;
}
.catalog-category-view .product-item-name a:hover,
.catalog-category-view .product-item-name a:focus {
    color: var(--brand-green);
}
.catalog-category-view .product-item-name,
.catalog-category-view .product-item-name a {
    hyphens: none;
    -webkit-hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
}

/* Category grid: Add to Cart uses standard button styling, icon preserved */
.catalog-category-view .product-item .action.tocart.primary {
    background-color: var(--brand-green);
    border: 0;
    border-radius: var(--brand-rounding);
    color: var(--brand-yellow);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 18px;
    line-height: normal;
    padding: 10px 20px;
    text-transform: uppercase;
    transition: .5s all ease;
}
.catalog-category-view .product-item .action.tocart.primary:hover,
.catalog-category-view .product-item .action.tocart.primary:focus,
.catalog-category-view .product-item .action.tocart.primary:active {
    background-color: var(--brand-yellow);
    color: var(--brand-green);
}
.abs-product-link>a:hover, .product-item-name>a:hover, .product.name a>a:hover {
    text-decoration: none;
    color: var(--brand-green);
    transition: all .5s ease;
}
.action.primary, .action-primary {
    font-size: 14px;
    font-family: var(--font-body);
    background-color: var(--brand-green);
    border: 1px solid var(--brand-green);
    transition: all .5s ease;
    font-weight: 300;
}
.action.primary:hover, .action-primary:hover {
    transition: all .5s ease;
    background: var(--brand-yellow);
    border: 1px solid var(--brand-yellow);
}

.product-info-main .stock.available:before, .product-info-main .stock.unavailable:before {
    content: "Availability: ";
    font-weight: normal;
    text-transform: none;
    color: var(--brand-grey);
}
.product-info-main .stock.available {
    color: var(--brand-green);
}
.product-info-main .stock.unavailable {
    color: red;
}
.product-info-main .product.attribute.sku .type {
    font-weight: normal;
    text-transform: none;
    color: #000;
    margin-right: 0;
}
.product-info-main .product.attribute.sku .type:after {
    content: "# ";
}
.product-info-main .product-reviews-summary .reviews-actions {
    font-size: 100%;
}
.product-info-main .price-box .price-wrapper .price, .product-options-bottom .price-box .price-wrapper .price {
    font-weight: normal;
    font-size: 25px;
    color: var(--brand-green);
}
/* From/To range labels + values, and the "As low as" minimal-price link: brand grey */
.product-info-main .price-box .price-label,
.product-info-main .price-box .price-from .price,
.product-info-main .price-box .price-to .price,
.product-info-main .price-box .minimal-price-link,
.product-info-main .price-box .minimal-price-link .price {
    color: var(--brand-grey);
}
/* Tier pricing: green panel with white text */
.prices-tier.items {
    background-color: var(--brand-green);
    padding: 15px 20px;
    margin: 15px 0;
    list-style: none;
}
.prices-tier.items,
.prices-tier.items .item,
.prices-tier.items .price,
.prices-tier.items .benefit,
.prices-tier.items .percent {
    color: var(--brand-white);
}
.product-info-main .box-tocart .input-text.qty, .product-options-bottom .box-tocart .input-text.qty {
    height: 45px;
    font-size: 17px;
}
.product-info-main .box-tocart .field.qty, .product-options-bottom .box-tocart .field.qty {
    padding-right: 10px;
}
.product-info-main .box-tocart .field.qty .label,
.product-options-bottom .box-tocart .field.qty .label {
    color: var(--brand-grey);
}
.product-info-main .box-tocart .action.primary {
    height: 45px;
    line-height: 1;
    background: var(--brand-green);
    border-color: var(--brand-green);
    padding-top: 0;
    padding-bottom: 0;
    transition: all .5s ease;
}
.product-info-main .box-tocart .action.primary:hover {
    background-color: var(--brand-yellow);
    border-color: var(--brand-yellow);
    color: var(--brand-green);
    transition: all .5s ease;
}
.product.data.items>.item.title>.switch {
    height: auto;
    font-size: 1.6rem;
}
.column.main .block .title {
    text-align: center;
}
.column.main .block .title strong {
    font-size: 25px;
    font-family: var(--font-body);
    font-weight: normal;
}
.page-layout-1column .products-grid .product-item, .page-layout-category-recipes .products-grid .product-item , .page-layout-1column-recipes .products-grid .product-item {
    text-align: center;
    margin-left:0 !important
}
.product-item-info {
    width: 100%;
}

.review-list .block-title {
    margin-bottom: 15px;
}
.review-list .block-title strong {
    color: #222;
    font-size: 2rem;
}
.review-title {
    color: var(--brand-green);
}
.rating-summary .rating-result {
    display: block;
}
.review-form .action.submit.primary, .review-form .action.submit.primary:focus, .review-form .action.submit.primary:active {
    background-color: var(--brand-green);
    border-color: var(--brand-green);
    font-size: 12px;
    height: 33px;
    line-height: 33px;
    color: var(--brand-white);
    font-weight: 400;
    margin: 0;
    padding: 0 12px;
}
.review-form .action.submit.primary:hover {
    background-color: var(--brand-grey);
    border-color: var(--brand-grey);
    color: var(--brand-white);
}
.fieldset .review-legend.legend span {
    text-transform: capitalize;
    color: #222;
}
.fieldset .review-legend.legend strong {
    display: inline;
    margin-left: 10px;
    font-size: 2rem;
    color: var(--brand-green);
}

.checkout-cart-index .page-title,
.checkout-cart-index .page-title .base {
    color: var(--brand-grey);
}
.cart.table-wrapper thead .col {
    padding-top: .75rem;
}
.cart.table-wrapper .items thead+.item {
    border-top: 0;
}
.cart.table-wrapper tbody td {
    border-top: 0;
}
/* Cart table: green borders, white text */
.cart.table-wrapper,
.cart.table-wrapper .items,
.cart.table-wrapper thead .col,
.cart.table-wrapper tbody td,
.cart.table-wrapper tbody tr {
    border-color: var(--brand-green);
}
.cart.table-wrapper thead .col {
    border-bottom: 1px solid var(--brand-green);
}
.cart.table-wrapper tbody.cart.item {
    border-bottom: 1px solid var(--brand-green);
}
.cart.table-wrapper,
.cart.table-wrapper thead .col,
.cart.table-wrapper tbody td,
.cart.table-wrapper .product-item-name a,
.cart.table-wrapper .price,
.cart.table-wrapper .cart-price .price,
.cart.table-wrapper tbody .price-including-tax .price,
.cart.table-wrapper tbody .price-excluding-tax .price {
    color: var(--brand-grey);
}
.cart.table-wrapper tbody .product-item-name {
    font-weight: normal;
}
.cart.table-wrapper tbody .product-item-name a:hover {
    text-decoration: none;
    color: var(--brand-yellow);
}
.cart.table-wrapper tbody .price-including-tax .price, .cart.table-wrapper tbody .price-excluding-tax .price {
    font-weight: normal;
}
.cart.table-wrapper tbody .price-including-tax, .cart.table-wrapper tbody .price-excluding-tax {
    font-size: 100%;
}
.column .block-addbysku .qty .qty, .bundle-options-container .input-text.qty, .cart.table-wrapper .col.qty .input-text, .account .table-return-items .qty .input-text, .table-giftregistry-items .field.qty .qty, .block-giftregistry-shared-items .qty .qty, .table.grouped .control .qty, .block-wishlist-info-items .input-text.qty, .multicheckout .table-wrapper .col .qty .input-text, .account .table-wrapper .data.table.wishlist .box-tocart .qty, .products-grid.wishlist .product-item .box-tocart input.qty, .sidebar .block-addbysku .fieldset .fields .field.qty .qty {
    width: 35px;
}
/* Cart qty box: match standard input styling */
.cart.table-wrapper .col.qty .input-text {
    width: 60px;
    padding: 10px;
    font-size: 18px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: var(--brand-rounding);
    color: var(--brand-grey);
    background: var(--brand-white);
}
.block-cart-failed .action.continue, .cart-container .form-cart .action.continue {
    border: 0;
}

.block-cart-failed .action.continue, .cart-container .form-cart .action.continue,
.form-cart .action.update {
    border-radius: var(--brand-rounding);
    background: var(--brand-green);
    color: var(--brand-yellow);
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 18px;
    text-transform: uppercase;
    line-height: inherit;
    border: none;
    padding: 7px 15px;
    transition: all .5s ease;
}
.abs-shopping-cart-items .action.continue:hover, .block-cart-failed .action.continue:hover, .cart-container .form-cart .action.continue:hover, .form-cart .action.update:hover {
    background: var(--brand-yellow);
    border: none;
    color: var(--brand-green);
}
.cart.table-wrapper .actions-toolbar>.action, .action-gift {
    font-weight: normal;
    font-size: 100%;
    line-height: inherit;
}
.block-cart-failed .action.clear, .cart-container .form-cart .action.clear, .cart-container .cart-gift-item .action.clear {
    font-weight: normal;
    background: var(--brand-green);
    border: 1px solid var(--brand-green);
    color: var(--brand-white);
}
.abs-shopping-cart-items .action.continue:focus, .abs-shopping-cart-items .action.continue:active, .block-cart-failed .action.continue:focus, .block-cart-failed .action.continue:active, .cart-container .form-cart .action.continue:focus, .cart-container .form-cart .action.continue:active, .block-cart-failed .action.continue:active, .cart-container .form-cart .action.continue:active {
    color: var(--brand-white);
}
.block-cart-failed .action.continue:active, .cart-container .form-cart .action.continue:active {
    box-shadow: none;
}
.abs-shopping-cart-items .action.continue:before, .block-cart-failed .action.continue:before, .cart-container .form-cart .action.continue:before, .abs-shopping-cart-items .action.update:before, .block-cart-failed .action.update:before, .cart-container .form-cart .action.update:before {
    line-height: 20px;
}
.cart.table-wrapper .item-actions .actions-toolbar .action {
    font-size: 80%;
    padding: 3px 10px;
    border-radius: var(--brand-rounding);
    background: var(--brand-grey);
    color: var(--brand-white);
}
.cart.table-wrapper .item-actions .actions-toolbar .action:hover {
    background: var(--brand-green);
}
.cart-summary .block>.title, .paypal-review-discount .block>.title {
    padding-left: 0;
    color: var(--brand-green);
    text-align: left !important;
}
.column.main .cart-summary .block>.title strong, .column.main .paypal-review-discount .block>.title strong {
    font-size: 1.5rem;
}
.cart-summary .block>.title:after, .paypal-review-discount .block>.title:after {
    top: 6px;
}
.cart-totals .mark, .opc-block-summary .table-totals .mark {
    background: transparent;
}
.cart-summary .block .fieldset {
    margin: 0;
}
.cart-totals {
    border-top: 0;
    padding-top: 0;
}
.cart-totals .grand .mark, .cart-totals .grand .amount, .opc-block-summary .table-totals .grand .mark, .opc-block-summary .table-totals .grand .amount {
    padding-top: .75rem;
}
/* Cart summary: transparent background, grey text */
.cart-summary {
    background: transparent;
    color: var(--brand-grey);
}
.cart-summary,
.cart-summary .mark,
.cart-summary .amount,
.cart-summary .price,
.cart-summary .title strong,
.cart-totals .mark,
.cart-totals .amount,
.cart-totals .grand .mark,
.cart-totals .grand .amount,
.cart-totals .grand .amount .price {
    color: var(--brand-grey);
}
.cart-container .checkout-methods-items .action.primary {
    background: var(--brand-green);
    border-color: var(--brand-green);
    color: var(--brand-yellow);
    transition: all .5s ease;
}
.cart-container .checkout-methods-items .action.primary:hover {
    background: var(--brand-yellow);
    border-color: var(--brand-green);
    color: var(--brand-green);
}
.checkout-container, .checkout-onepage-success .page-title-wrapper, .account .page-title-wrapper, .customer-account-logoutsuccess .page-title-wrapper, .cms-no-route .page-title-wrapper {
    margin: 50px 0 20px;
}
.opc-progress-bar-item._active:before, .opc-progress-bar-item._active>span:before {
    background: var(--brand-yellow);
}
.opc-progress-bar-item>span:after {
    line-height: 26px;
}
/* Checkout header + transparent checkout container */
.checkout-index-index .checkout-header {
    margin-top: 30px;
}
.checkout-index-index .am-checkout:not(.-modern) {
    background: transparent;
}
/* Checkout section blocks: transparent bg, white text */
.checkout-index-index .checkout-block,
.checkout-index-index .opc-block-summary {
    background: transparent;
    box-shadow: none;
    color: var(--brand-grey);
}
.checkout-index-index .checkout-block .step-title,
.checkout-index-index .checkout-block .field > .label,
.checkout-index-index .checkout-block label,
.checkout-index-index .opc-block-summary,
.checkout-index-index .opc-block-summary .title,
.checkout-index-index .opc-block-summary .mark,
.checkout-index-index .opc-block-summary .amount,
.checkout-index-index .opc-block-summary .product-item-name,
.checkout-index-index .opc-block-summary .price,
.checkout-index-index .checkout-payment-method .payment-method-title label {
    color: var(--brand-grey);
}
.checkout-index-index .checkout-header .title,
.checkout-index-index .checkout-header .description {
    color: var(--brand-grey);
}
.checkout-index-index .checkout-header .title {
    text-transform: uppercase;
}
.opc-wrapper .step-title, .opc-block-shipping-information .shipping-information-title, .opc-block-summary>.title, .checkout-agreements-items .checkout-agreements-item-title {
    font-size: 2rem;
    font-weight: normal;
    color: var(--brand-yellow);
}
/* Checkout: uppercase all section titles, normalise payment title border */
.checkout-index-index .opc-wrapper .step-title,
.checkout-index-index .checkout-payment-method .step-title,
.checkout-index-index .opc-block-shipping-information .shipping-information-title,
.checkout-index-index .opc-block-summary > .title,
.checkout-index-index .checkout-agreements-items .checkout-agreements-item-title {
    text-transform: uppercase;
}
.checkout-index-index .opc-wrapper.am-opc-wrapper .checkout-payment-method .payment-methods .step-title {
    border-bottom: 0;
}
.table-checkout-shipping-method .row {
    margin: 0;
}
.form-shipping-address .street .control label {
    display: none;
}
.field-tooltip .field-tooltip-content {
    border: 1px solid #ddd;
}
.authentication-wrapper {
    margin-top: 0;
}
.abs-action-remove, .cart.table-wrapper .action.help.map, .opc-wrapper .edit-address-link, .opc-block-shipping-information .shipping-information-title .action-edit, .action-auth-toggle, .checkout-payment-method .checkout-billing-address .action-cancel, .checkout-agreements-block .action-show, .cart-summary .block.giftcard .action.check, .gift-options .actions-toolbar .action-cancel, .table-comparison .wishlist.split.button>.action, .product-items .wishlist.split.button>.action, .paypal-button-widget .paypal-button, .abs-add-fields .action.remove, .form-giftregistry-share .action.remove, .form-giftregistry-edit .action.remove, .form-add-invitations .action.remove, .form-create-return .action.remove, .form.send.friend .action.remove {
    color: var(--brand-green);
}
.abs-action-button-as-link:hover, .abs-action-remove:hover, .cart.table-wrapper .action.help.map:hover, .opc-wrapper .edit-address-link:hover, .opc-block-shipping-information .shipping-information-title .action-edit:hover, .action-auth-toggle:hover, .checkout-payment-method .checkout-billing-address .action-cancel:hover, .checkout-agreements-block .action-show:hover, .cart-summary .block.giftcard .action.check:hover, .gift-options .actions-toolbar .action-cancel:hover, .table-comparison .wishlist.split.button>.action:hover, .product-items .wishlist.split.button>.action:hover, .paypal-button-widget .paypal-button:hover, .abs-add-fields .action.remove:hover, .form-giftregistry-share .action.remove:hover, .form-giftregistry-edit .action.remove:hover, .form-add-invitations .action.remove:hover, .form-create-return .action.remove:hover, .form.send.friend .action.remove:hover {
    color: var(--brand-green);
}
.abs-action-button-as-link:hover, .abs-action-remove:hover, .cart.table-wrapper .action.help.map:hover, .opc-wrapper .edit-address-link:hover, .opc-block-shipping-information .shipping-information-title .action-edit:hover, .action-auth-toggle:hover, .checkout-payment-method .checkout-billing-address .action-cancel:hover, .checkout-agreements-block .action-show:hover, .cart-summary .block.giftcard .action.check:hover, .gift-options .actions-toolbar .action-cancel:hover, .table-comparison .wishlist.split.button>.action:hover, .product-items .wishlist.split.button>.action:hover, .paypal-button-widget .paypal-button:hover, .abs-add-fields .action.remove:hover, .form-giftregistry-share .action.remove:hover, .form-giftregistry-edit .action.remove:hover, .form-add-invitations .action.remove:hover, .form-create-return .action.remove:hover, .form.send.friend .action.remove:hover {
    text-decoration: none;
}
.modal-header {
    border-bottom: 0;
}
.modal-custom .action-close {
    margin: 10px;
}

/* Gift message modal (cart page) */
.checkout-cart-index .modal-popup .modal-title {
    text-transform: uppercase;
    color: var(--brand-grey);
}
.checkout-cart-index .modal-popup .modal-content {
    color: var(--brand-grey);
}
.checkout-cart-index .modal-popup .action-close {
    color: var(--brand-white);
    background-color: var(--brand-red);
    opacity: 1;
    transition: all .5s ease;
}
.checkout-cart-index .modal-popup .action-close:hover {
    color: var(--brand-red);
    background-color: var(--brand-white);
}
.checkout-cart-index .modal-popup .action-close:before {
    color: inherit;
}
.modal-content {
    border: 0;
}
.block-authentication .block-title {
    color: var(--brand-green);
}
.block-authentication .block-content button.action {
    background-color: var(--brand-green);
    border-color: var(--brand-green);
    color: var(--brand-white);
    font-weight: 400;
    font-size: 14px;
    padding: 9px 17px;
}
.block-authentication .block-content button.action:hover {
    background-color: var(--brand-grey);
    border-color: var(--brand-grey);
}
.opc-block-summary .items-in-cart>.title, .opc-block-summary .items-in-cart>.title strong {
    font-size: 18px;
    font-weight: normal;
    text-align: left !important;
}
.opc-block-summary .block.items-in-cart .title strong {
    font-size: 14px;
}
.opc-block-summary, .opc-block-shipping-information {
    padding: 30px;
    background: #f5f5f5;
}
.minicart-items .product-item:last-child {
    padding-bottom: 0;
}
.checkout-payment-method .payment-option-title .action-toggle, .checkout-payment-method .payment-option._active .payment-option-title .action-toggle:after {
    color: var(--brand-green);
}
.checkout-payment-method .payment-method-content, .checkout-payment-method .payment-option-content {
    padding-left: 0;
}
.opc-block-shipping-information .shipping-information-title .action-edit {
    top: -5px;
}
.opc-block-shipping-information .ship-via {
    margin-bottom: 0;
}
.opc-wrapper .shipping-address-item.selected-item {
    border-color: var(--brand-green);
}
.opc-wrapper .shipping-address-item.selected-item::after {
    background: var(--brand-green);
}
.checkout-index-index .opc-estimated-wrapper {
    display: none;
}
/* Remove blue focus outline + hover shadow around checkout sections */
.checkout-index-index .checkout-block:hover,
.checkout-index-index .checkout-block:focus,
.checkout-index-index .checkout-block:focus-within {
    box-shadow: none;
    outline: none;
    border-color: transparent;
}
.checkout-payment-method .checkout-billing-address .billing-address-details a, .opc-block-shipping-information .shipping-information-content a {
    color: var(--brand-green);
}

.account-nav .item, .account-nav .item a {
    width: 100%;
}
.account-nav .item.current a, .account-nav .item.current strong {
    border-color: var(--brand-yellow);
    color: var(--brand-yellow);
}
.account .column.main .block .block-title {
    border-bottom: 1px solid rgba(0,0,0,.1);
    padding-bottom: 5px;
}
.account .column.main .block .block-title a {
    color: var(--brand-green);
}
.account .column.main .table td, .account .column.main .table th {
    width: 16.66%;
}
.account .column.main .table td.actions a, .order-actions-toolbar .action {
    color: var(--brand-green);
}
.account .column.main strong.product-name, .account .column.main strong.product {

    margin-bottom: 0;
}
.limiter-label {

}
.products-grid.wishlist .product-item-name a:hover {
    text-decoration: none;
}
.products-grid.wishlist .product-item-comment {
    height: 100px;
}
.product-item .special-price .price, .product-item .minimal-price .price {
    font-weight: normal;
}
.account .column.main a {
    color: var(--brand-green);
}
.price-including-tax, .price-excluding-tax {
    font-size: 100%;
}
.price-including-tax .price, .price-excluding-tax .price {
    font-weight: normal;
}

.cms-page-view .column.main table th {

}

.block-minicart .block-content>.actions>.primary .action.primary, .methods-shipping .actions-toolbar .action.primary, .block-authentication .action.action-register, .block-authentication .action.action-login, .checkout-payment-method .payment-method-content>.actions-toolbar>.primary .action.primary, .form-address-edit .actions-toolbar .action.primary, .multicheckout .action.primary {
    background: var(--brand-yellow);
    border-color: var(--brand-yellow);
    color: var(--brand-white);
}
.cart-container .checkout-methods-items .action.primary {
    background: var(--brand-green);
    border-color: var(--brand-green);
    color: var(--brand-yellow);
    transition: all .5s ease;
}
.cart-container .checkout-methods-items .action.primary:hover {
    background: var(--brand-yellow);
    border-color: var(--brand-yellow);
    color: var(--brand-green);
}

.opc-wrapper .actions-toolbar button.action.primary {
    line-height: 1;
    padding-top: 10px;
    padding-bottom: 10px;
}
.opc-wrapper .actions-toolbar button.action.primary span {
    background: transparent;
    padding: 0;
}
.opc-wrapper .actions-toolbar button.action.primary:hover span {
    background: transparent;
}

button:focus, button:active, .cart.table-wrapper .actions-toolbar>.action:focus, .cart.table-wrapper .actions-toolbar>.action:active, .action-gift:focus, .action-gift:active {
    border: 0;
}

button, .cart.table-wrapper .actions-toolbar>.action, .action-gift {
    font-weight: normal;
}

.account-nav .item a {
    color: #353535;
}
.account-nav .item a:hover {
    color: var(--brand-green);
}

.wishlist-index-index .products-grid {
    border: 0;
}

.cart-container {
    margin-bottom: 60px;
}
.cart-summary>.title {
    font-weight: normal;
}

.fieldset>.field>.label, .fieldset>.fields>.field>.label {
    font-weight: 400;
}

button, a.action.primary, .cart.table-wrapper .actions-toolbar>.action, .action-gift {
    border-radius: var(--brand-rounding);
}

.pages .item {
    width: 34px;
    margin: 0;
}
.pages .action.next {
    margin-left: 0;
}

.login-container .block .block-title, .form-create-account .fieldset .legend {
    font-size: 2rem;
    color: var(--brand-yellow);
}
.form-create-account .fieldset .legend {
    border-bottom: 1px solid #e8e8e8;
    margin-bottom: 15px;
    padding-bottom: 12px;
}
.form-login .fieldset>.field {
    margin-bottom: 10px;
}
.fieldset>.field:not(.choice)>.label {
    width: 100%;
    padding-right: 0;
    text-align: left;
}
.login-container .fieldset:after {
    margin-left: 0;
}

.block-compare .action.compare, .cart-summary .actions-toolbar>.primary button, .cart-summary .form.giftregistry .fieldset .action.primary, .paypal-review .block .actions-toolbar .action.primary, .cart-summary .actions-toolbar>.primary .cart.table-wrapper .actions-toolbar>.action, .cart-summary .actions-toolbar>.primary .action-gift {
    background: var(--brand-green);
    border-color: var(--brand-green);
    color: var(--brand-white);
}
.abs-revert-secondary-color:hover, .block-compare .action.compare:hover, .cart-summary .actions-toolbar>.primary button:hover, .cart-summary .form.giftregistry .fieldset .action.primary:hover, .paypal-review .block .actions-toolbar .action.primary:hover, .cart-summary .actions-toolbar>.primary .cart.table-wrapper .actions-toolbar>.action:hover, .cart-summary .actions-toolbar>.primary .action-gift:hover {
    background: var(--brand-grey);
    border-color: var(--brand-grey);
    color: var(--brand-white);
}

.minicart-items .product>.product-item-photo, .minicart-items .product>.product-image-container {
    width: 50px !important;
    height: 50px !important;
}
.minicart-items .product-item-details {
    padding-left: 65px;
}
.form-discount .actions-toolbar button.action {
    background-color: var(--brand-green);
    border: 1px solid var(--brand-green);
    color: var(--brand-yellow);
    transition: all .5s ease;
}
.form-discount .actions-toolbar button.action:hover {
    background-color: var(--brand-yellow);
    border: 1px solid var(--brand-yellow);
    color: var(--brand-green);
}
/* Apply Discount button: uppercase to match */
.checkout-index-index .payment-option-content .action-apply {
    text-transform: uppercase;
}

/* Place Order: standard styling, full width for prominence */
.checkout-index-index .checkout-payment-method .payment-methods .actions-toolbar .action.primary.checkout,
.checkout-index-index .checkout-payment-method .payment-method-content .actions-toolbar .action.primary.checkout,
.checkout-index-index .am-checkout .actions-toolbar .action.primary.checkout {
    background: var(--brand-green);
    border: 1px solid var(--brand-green);
    color: var(--brand-yellow);
    width: 100%;
    font-size: 29px;
    transition: all .5s ease;
}
.checkout-index-index .checkout-payment-method .payment-methods .actions-toolbar .action.primary.checkout:hover,
.checkout-index-index .checkout-payment-method .payment-method-content .actions-toolbar .action.primary.checkout:hover,
.checkout-index-index .am-checkout .actions-toolbar .action.primary.checkout:hover {
    background: var(--brand-yellow);
    border: 1px solid var(--brand-yellow);
    color: var(--brand-green);
}

body.account .columns .column.main {
    margin-bottom: 40px;
}

.account .column.main .block .block-title {
    color: var(--brand-yellow);
}
.account .column.main .block .block-title strong {
    font-size: 20px !important;
}

.form-address-edit .actions-toolbar .primary button.action {
    font-size: 14px;
    padding: 7px 15px;
}
.column.main .block .title {
    text-align: left;
}

table th.mark, table td.mark {
    background: var(--brand-white);
}

.cms-page-view .page-main {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-top:60px
}

@media only screen and (min-width: 1366px) {
    .page-main > .page-title-wrapper .page-title {
        display: block;
        text-align: center;
    }
}

@media only screen and (min-width: 1024px) {
    .page-layout-1column .products-grid .product-item, .page-layout-category-recipes .products-grid .product-item, .page-layout-1column-recipes .products-grid .product-item, {
        width: 25%;
        margin: 0;
    }
}

@media only screen and (min-width: 992px) {
    .page-products .products-grid .product-item, .page-products.page-layout-1column-recipes .products-grid .product-item, .page-products.page-layout-1column .products-grid .product-item , .page-products.page-layout-category-recipes .products-grid .product-item {
        width: 25%;
        text-align: center;
    }
}

@media only screen and (min-width: 768px) {
    /* Product page columns via flex (not floats): image left, info right.
       Robust against the bundle customize box expanding info-main downward
       without dropping the image to a new line. */
    .catalog-product-view .column.main {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .catalog-product-view .column.main > .product.media {
        order: 1;
        width: 40%;
        margin-right: 5%;
        float: none;
    }
    .catalog-product-view .column.main > .product-info-main {
        order: 2;
        width: 55%;
        float: none;
    }
    /* The bundle customize form is a sibling of the columns (core places it
       after product.info.main). Order it full-width directly below the columns,
       above the tabs/related blocks. */
    .catalog-product-view .column.main > .bundle-options-container {
        order: 3;
        width: 100%;
    }
    .catalog-product-view .column.main > .product.info.detailed,
    .catalog-product-view .column.main > .block {
        order: 4;
        width: 100%;
    }
    .page-layout-1column .product-info-main, .page-layout-1column-recipes .product-info-main, .page-layout-category-recipes .product-info-main {
        width: 55%;
    }
    .page-layout-1column .product.media, .page-layout-1column-recipes .product.media, .page-layout-category-recipes .product.media {
        width: 40%;
    }
    .product.data.items>.item.content {
        padding-left: 0;
        padding-right: 0;
    }
    .cart.table-wrapper thead .col, .cart.table-wrapper tbody .col {
        width: 15%;
    }
    .cart.table-wrapper thead .col.item, .cart.table-wrapper tbody .col.item {
        width: 55%;
    }
    .cart.table-wrapper .product-item-photo {
        display: block;
        float: left;
        width: 60px;
        padding-right: 0;
    }
    .cart.table-wrapper .product-item-details {
        display: block;
        padding-left: 70px;
        width: auto;
    }
    .abs-shopping-cart-items-desktop, .block-cart-failed, .cart-container .form-cart, .cart-container .cart-gift-item {
        width: 70%;
    }
    .cart-summary {
        width: 26%;
    }
    .abs-margin-for-forms-desktop, .fieldset .legend, .column:not(.sidebar-main) form .actions-toolbar, .column:not(.sidebar-additional) form .actions-toolbar, .login-container .fieldset:after {
        margin-left: 0 !important;
    }
    .form.password.reset, .form.send.confirmation, .form.password.forget, .form.create.account, .form.search.advanced, .form.form-orders-search {
        margin-bottom: 40px;
    }
    .fieldset>.field {
        margin-bottom: 10px;
    }
    .fieldset>.field.choice:before, .fieldset>.field.no-label:before {
        width: 0;
        padding-right: 0;
    }
    .opc-sidebar {
        margin-top: 10px;
    }
    .checkout-payment-method .payment-option-title {
        padding-left: 0;
    }
}

@media only screen and (max-width: 767px) {
    .two-col-banner .col-first {
        order: 2;
    }
    .two-col-banner .col-last {
        order: 1;
    }
    .two-col-banner .right-col {
        height: 200px;
    }
    .catalog-category-view .products-grid .product-item {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 640px) {
    .products-grid .product-item-actions {
        margin-bottom: 30px;
    }
}

.toggle-dropdown { display:none}

.cms-page-view .newsletter-block { margin-top:30px}
.cms-page-view h2 { margin-top:20px; margin-bottom:20px}

/* CMS page content: grey body text, green links (yellow on hover) */
.cms-page-view .column.main,
.cms-page-view .column.main p,
.cms-page-view .column.main li,
.cms-page-view .column.main td,
.cms-page-view .column.main h1,
.cms-page-view .column.main h2,
.cms-page-view .column.main h3,
.cms-page-view .column.main h4,
.cms-page-view .column.main h5,
.cms-page-view .column.main h6 {
    color: var(--brand-grey);
}
.cms-page-view .column.main a {
    color: var(--brand-green);
    transition: color .3s ease;
}
.cms-page-view .column.main a:hover,
.cms-page-view .column.main a:focus {
    color: var(--brand-yellow);
}

/* Full-width layout: every .container spans the viewport with 2% side gutters */
.container,
.header .container {
    width: 100%;
    max-width: 100% !important;
    margin-right: auto;
    margin-left: auto;
    padding-left: 2%;
    padding-right: 2%;
}
/* Containers explicitly opting into edge-to-edge keep zero gutter */
.container.fullwidth {
    padding-left: 0;
    padding-right: 0;
}

@media only screen and (min-width: 768px) {
  .page-main > .page-title-wrapper .page-title { display: block! important}
}
@media only screen and (max-width: 620px) {
  .header-logo { width:200px !important}
  .header-right .header-icons li { margin-left: 10px !important}
  .header-right .header-icons li:first-child { margin-left: 0 !important}
  .header-left .header-icons li { margin-right: 10px !important}
  .header-left .header-icons li:last-child { margin-right: 0 !important}
  .header-cart em { font-size:12px !important; width:18px !important; height:18px !important}
  .banner-section .banner-info { width:350px !important}
  .cms-home .banner-one h2 { font-size:28px}
  .cms-home .banner-one p { font-size:28px}
}
/* Product page adjustments */

/* Recipe category and product page adjustments */
@media only screen and (max-width: 768px) {
  .product-details-div { margin-top:20px}
  .product.data.items > .item.content { border:none !important; padding:0px !important}
}


.catalog-category-view .category-view, .catalog-category-view #maincontent, .catalog-product-view #maincontent, .page-layout-1column #maincontent, .page-layout-1column-recipes #maincontent, .page-layout-category-recipes #maincontent  { margin-top:60px }
.catalog-category-view .toolbar { display:none !important}
.catalog-category-view .product-item-name { text-transform: uppercase;}

.cms-our-team .team-name { margin-top:10px; margin-bottom:10px; text-align: center; text-transform: uppercase;}
.cms-our-team .team-details { margin-bottom:20px}

#stockists-submit, .find-my-location { top : -1px !important; padding:10px !important; background:var(--brand-green); transition: 0.5s all ease; text-transform: uppercase;}
#stockists-submit:hover, .find-my-location:hover { background:var(--brand-yellow);  transition: 0.5s all ease}


.gallery-placeholder { width:100% !important}

.product.data.items > .item.content { border-top:none !important; background: transparent !important}
.product.data.items > .item.title { display: none !important}

.product-details-div { text-transform: uppercase; display:none; margin-bottom:20px; font-size:25px}

/* Product page: name + description text grey, links green->yellow */
.catalog-product-view .page-title,
.catalog-product-view .page-title .base,
.catalog-product-view .product.attribute.description,
.catalog-product-view .product.attribute.description *,
.catalog-product-view .product.attribute.overview,
.catalog-product-view .product.attribute.overview *,
.catalog-product-view [itemprop="description"],
.catalog-product-view [itemprop="description"] *,
.catalog-product-view .product.attribute.short_description,
.catalog-product-view .product.attribute.short_description * {
    color: var(--brand-grey);
}
.catalog-product-view .product.attribute.description a,
.catalog-product-view .product.attribute.description a:link,
.catalog-product-view .product.attribute.description a:visited,
.catalog-product-view .product.attribute.short_description a,
.catalog-product-view .product.attribute.short_description a:link,
.catalog-product-view .product.attribute.short_description a:visited {
    color: var(--brand-green);
    text-decoration: none;
    transition: .5s all ease;
}
.catalog-product-view .product.attribute.description a:hover,
.catalog-product-view .product.attribute.description a:focus,
.catalog-product-view .product.attribute.short_description a:hover,
.catalog-product-view .product.attribute.short_description a:focus {
    color: var(--brand-yellow);
}
.catalog-product-view .product.attribute.overview a,
.catalog-product-view .product.attribute.overview a:link,
.catalog-product-view .product.attribute.overview a:visited {
    color: var(--brand-green);
    text-decoration: none;
    transition: .5s all ease;
}
.catalog-product-view .product.attribute.overview a:hover,
.catalog-product-view .product.attribute.overview a:focus {
    color: var(--brand-yellow);
}

/* Product page: attribute boxes (e.g. short description / method) */
.catalog-product-view .product.attribute.short_description {
    background-color: transparent;
    color: var(--brand-grey);
    padding-left: .5rem;
}
.catalog-product-view .product.attribute.short_description .value,
.catalog-product-view .product.attribute.short_description .value p {
    color: var(--brand-grey);
}

/* Related block: the template renders all candidate items hidden and the
   relatedProducts JS reveals only .related-available ones. When none qualify,
   only the "We found other products..." heading would show — hide the whole
   block if it contains no available items. */
.block.related:not(:has(.product-item-info.related-available)) {
    display: none;
}
/* Related & upsell: titles font-title + grey */
.block.related .block-title strong,
.block.upsell .block-title strong,
.block.related .block-title,
.block.upsell .block-title {
    font-family: var(--font-title);
    color: var(--brand-grey);
}
/* Related & upsell product names: match category grid */
.block.related .product-item-name,
.block.related .product-item-name a,
.block.related .product-item-name a:visited,
.block.upsell .product-item-name,
.block.upsell .product-item-name a,
.block.upsell .product-item-name a:visited {
    color: var(--brand-grey);
}
.block.related .product-item-name a:hover,
.block.related .product-item-name a:focus,
.block.upsell .product-item-name a:hover,
.block.upsell .product-item-name a:focus {
    color: var(--brand-green);
    transition: .5s all ease;
}



.category-cms .products-grid h3.text-center { text-transform: uppercase}

.action.primary, .action-primary { font-size:18px !important; text-transform: uppercase}

/* CMS banner adjustments */
@media only screen and (max-width: 989px) {
  .catalog-category-view .category-view, .catalog-category-view #maincontent, .catalog-product-view #maincontent, .page-layout-1column #maincontent, .page-layout-1column-recipes #maincontent, .page-layout-category-recipes #maincontent { margin-top : 0px !important}
}


  @media only screen and (max-width: 990px) {
      .nav-container {
          display: none;
      }
      .header.sticky .nav-container {
          position: absolute;
          width: 100%;
          z-index: 10;
          top: 100%;
      }
      #nav {
          background: var(--brand-grey);
          padding: 15px;
      }
      #nav li {
          margin: 0;
          padding: 10px 0;
          width: 100%;
      }
      #nav li:hover > a, #nav a:hover, .cms-home #nav li.home a, #nav li.active a {
          color: var(--brand-yellow);
      }

      #nav li.parent ul { position:relative; top:10px; left:0px; display:none;   -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; transition: all .5s ease-in-out; }


      #nav li.parent a { width:90%; float:left}
      #nav .expander {
          color: var(--brand-white);
          transition: color .3s ease;
      }
      #nav .expander:hover {
          color: var(--brand-yellow);
      }


      #nav li.parent.open ul { width:100%;  display:block;   -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; transition: all .5s ease-in-out; padding:0px }
      #nav li.parent.open ul li { float:left}

    }

    @media only screen and (min-width: 991px) {
      #nav .expander { display:none}
      #nav li.parent a { width:100%; float:none}
    }

.page-layout-category-recipes .product-item-details .price-box, .page-layout-category-recipes .product-item-details .product-item-actions { display:none}
.product-info-stock-sku { margin-top:10px}
.product.attribute.sku { display:none !important}

@media only screen and (min-width: 768px) {
.page-layout-category-recipes .products-grid .product-item, .page-products .products-grid .product-item:nth-child(3n + 1) { margin-left:0 !important}
  }

@media only screen and (max-width: 550px) {
  .products-grid .product-item { width:100% !important}
}

@media only screen and (min-width: 550px) and (max-width: 800px) {
  .products-grid .product-item { width:50% !important}
}

@media only screen and (min-width: 800px) and (max-width: 1000px) {
  .products-grid .product-item { width:33.33333% !important}
}

@media only screen and (min-width: 1000px) {
  .products-grid .product-item { width:25% !important}
}


/* Stockists new stuff */

.storelocator-index-index .column.main { margin-bottom: 20px !important }
.storelocator-index-index #tools a, .storelocator-index-index #tools button { background : var(--brand-green) !important; border-radius: var(--brand-rounding) !important; font-weight:300 !important; text-transform:uppercase !important; font-size: 18px !important;border: none !important;  transition: 0.5s all ease}
.storelocator-index-index #tools button { height:37px !important; margin: -1px 0 !important; }
.storelocator-index-index #tools button:hover, .storelocator-index-index #tools a:hover { background: var(--brand-yellow) !important; transition: 0.5s all ease}
.storelocator-index-index #tools input { height:37px !important; padding:13px 9px !important; }
#storelocator_box #storelocator .source a { display: inline !important; padding:none !important; border-top:none !important }
/* Various fixes 08/09/23 */

.catalog-category-view .product-items .product-item-name { max-width:250px !important; margin-left:auto !important; margin-right: auto !important; }
@media screen and (max-width: 399px) {
    #storelocator_box .hide-400 {
        display: block !important;
    }
}

/* Bundle product options: hide disabled qty fields and price notice on single-option items */
.bundle-options-container .field.qty:has(.qty-disabled) {
    display: none;
}
.bundle-options-container .price-notice {
    display: none;
}
.bundle-options-container {
    clear: none;
}

/* ---- Bundle customize form styling ---- */
/* Left side (options): brand grey text; required notice + field labels red */
.bundle-options-wrapper,
.bundle-options-wrapper .legend.title,
.bundle-options-wrapper .product-name,
.bundle-options-wrapper .price-notice,
.bundle-options-wrapper select,
.bundle-options-wrapper .field.qty .label {
    color: var(--brand-grey);
}
.bundle-options-container .product-options-wrapper .legend.title {
    color: var(--brand-grey);
}
.bundle-options-wrapper .field.option > .label,
.bundle-options-wrapper .field.option > .label span,
.bundle-options-container .notice-required,
.bundle-options-container p.required {
    color: var(--brand-red);
}

/* Right side (summary): green background, yellow text */
.bundle-options-container #bundleSummary,
.bundle-options-container .block-bundle-summary {
    background-color: var(--brand-green);
    padding: 20px;
}
.bundle-options-container #bundleSummary,
.bundle-options-container #bundleSummary * {
    color: var(--brand-yellow);
}
.bundle-options-container #bundleSummary .title {
    margin-top: 20px;
    margin-bottom: 20px;
}
/* Qty field in the summary is read-only — hide it */
.bundle-options-container #bundleSummary .box-tocart .field.qty {
    display: none;
}

/* Messages: match brand palette (success=green, error=red, notice/warning=yellow) */
.message.success {
    background-color: var(--brand-green);
    color: var(--brand-white);
}
.message.error {
    background-color: var(--brand-red);
    color: var(--brand-white);
}
.message.warning,
.message.notice {
    background-color: var(--brand-yellow);
    color: var(--brand-grey);
}
.message.success,
.message.error,
.message.warning,
.message.notice {
    border-radius: var(--brand-rounding);
}
.message.success a,
.message.error a {
    color: var(--brand-white);
    text-decoration: underline;
}
.message.warning a,
.message.notice a {
    color: var(--brand-grey);
    text-decoration: underline;
}
.message.success > *:before,
.message.error > *:before,
.message.warning > *:before,
.message.notice > *:before {
    color: inherit;
}

/* Cart item edit / remove action buttons */
.cart.table-wrapper .item-actions .actions-toolbar .action.action-edit,
.cart.table-wrapper .item-actions .actions-toolbar .action.action-delete {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: normal;
    line-height: normal;
    text-transform: uppercase;
    padding: 12px 20px;
    border-radius: var(--brand-rounding);
    color: var(--brand-yellow);
    background: var(--brand-green);
    transition: all .5s ease;
}
.cart.table-wrapper .item-actions .actions-toolbar .action.action-edit span,
.cart.table-wrapper .item-actions .actions-toolbar .action.action-edit .fa-light,
.cart.table-wrapper .item-actions .actions-toolbar .action.action-delete span,
.cart.table-wrapper .item-actions .actions-toolbar .action.action-delete .fa-light {
    color: var(--brand-yellow);
}
.cart.table-wrapper .item-actions .actions-toolbar .action.action-edit .fa-light,
.cart.table-wrapper .item-actions .actions-toolbar .action.action-delete .fa-light {
    font-size: 1.6rem;
    line-height: 1;
}
.cart.table-wrapper .item-actions .actions-toolbar .action.action-edit:hover,
.cart.table-wrapper .item-actions .actions-toolbar .action.action-delete:hover {
    color: var(--brand-green);
    background: var(--brand-yellow);
}
.cart.table-wrapper .item-actions .actions-toolbar .action.action-edit:hover span,
.cart.table-wrapper .item-actions .actions-toolbar .action.action-edit:hover .fa-light,
.cart.table-wrapper .item-actions .actions-toolbar .action.action-delete:hover span,
.cart.table-wrapper .item-actions .actions-toolbar .action.action-delete:hover .fa-light {
    color: var(--brand-green);
}

/* Product gallery (Fotorama) prev/next arrows */
.fotorama__arr {
    background-color: rgba(132, 162, 114, 0.25); /* transparent brand green */
    transition: background-color .3s ease;
}
.fotorama__arr:hover {
    background-color: rgba(132, 162, 114, 0.5);
}
.fotorama__arr .fotorama__arr__arr {
    background: none;
    position: relative;
    width: 100%;
    height: 100%;
}
.fotorama__arr .fotorama__arr__arr:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    border-top: 6px solid var(--brand-yellow);
    border-right: 6px solid var(--brand-yellow);
}
.fotorama__arr--prev .fotorama__arr__arr:before {
    transform: translate(-30%, -50%) rotate(-135deg);
}
.fotorama__arr--next .fotorama__arr__arr:before {
    transform: translate(-70%, -50%) rotate(45deg);
}

/* Product gallery (Fotorama) nav dots */
.fotorama__nav--dots {
    margin-top: 10px;
}
.fotorama__nav--dots .fotorama__nav__frame--dot {
    width: 24px;
    height: 24px;
}
.fotorama__dot {
    width: 14px;
    height: 14px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 2px solid var(--brand-green);
    background-color: var(--brand-white);
    transition: background-color .3s ease;
}
.fotorama__active .fotorama__dot {
    border-color: var(--brand-green);
    background-color: var(--brand-green);
}
